1. Field of the Invention
This invention relates to computer hardware, and more particularly, to daughtercards which may be added to a computer system with no interruption to system operation.
2. Description of the Relevant Art
Computer systems that must operate for long periods of time without interruption are sometimes referred to as high availability computer systems. Many high availability computer systems are also configured to continue operation despite some system component failures. Examples of high availability computer systems may include industrial computers or network file servers. In addition to the core elements of the computer system, such as the processor and memory, many high availability computer systems also include additional hardware. Such hardware may include network interface cards, process controllers, or cards providing other types of functionality. At times, it may be necessary to add or remove hardware (i.e. daughtercards) in a high availability computer system. In many cases, the computer system must continue uninterrupted operation despite this need. To this end, various standards have been developed that allow hardware to be added or removed from a computer system with no interruption to system operation (often referred to as “hot swapping”). One such standard is the CompactPCI® Hotswap Specification. This standard provides guidelines for designing daughtercards which may be inserted into an operating computer system without removing power or interrupting operations, as well as providing procedures for initiating software communications with the daughtercard. The standard also provides guidelines for terminating software communications between the daughtercard and computer system, as well as removing the daughtercard without interrupting operations.
A first requirement for any computer system to support hot swapping is to provide circuitry that enables the safe, orderly power-up of a daughtercard upon insertion, and orderly power-down upon preparation for removal. Daughtercards configured for hot swapping typically include power circuitry which isolates the functional circuitry (i.e. that circuitry which enables the daughtercard to perform its intended function) from system power. After detection of system power, the power circuitry may then allow power to be provided to the entire daughtercard. Some power circuitry may also be configured to control the sequence at which certain devices on the daughtercard receive power. Similarly, prior to removing a daughtercard from an operating computer system, power circuitry may remove power from the daughtercard in a controlled fashion.
A second requirement to support hot swapping is the establishment of software communications between the host computer system and the daughtercard. Software communications may be established manually through the intervention of a user of the computer system, or automatically. In the CompactPCI® Hotswap Specification, software communications may automatically be initiated following the power-up sequence by the assertion of a signal referred to as ENUM#. The ENUM# signal is bussed within a host computer system, as several daughtercards may share a common signal line. When a host computer system detects that a daughtercard has asserted the ENUM# signal, it may then begin polling the various daughtercards in order to determine which one asserted the signal. Once the host computer system determines the source of the asserted ENUM# signal, it may then begin to initiate software contact with the appropriate daughtercard.
The ENUM# signal may also be used to terminate software communications between a daughtercard and the host computer system. Daughtercards that conform to the CompactPCI® Hotswap Specification include an ejector handle for removing the daughtercard from the computer system. This ejector handle may activate a switch on the daughtercard, which may in turn assert the ENUM# signal. After determining the source of the asserted ENUM# signal, the host computer system may then begin the process of terminating software communications with the appropriate daughtercard. Once software communications have been terminated, the daughtercard may then begin its power-off sequence. When the power-off sequence is complete, the daughtercard may then be physically extracted from the computer system. Daughtercards which conform to the CompactPCI® Hotswap Specification include light-emitting diode (LED) which, when illuminated, indicate that it is safe to extract the board from the computer system.
One problem that arises with systems such as that described above pertains to the use of bussed signals. As previously stated, the ENUM# signal of the CompactPCI® Hotswap Specification is a bussed signal. This is illustrated in FIG. 1. Within the host computer system, the signal path for the ENUM# signal is common to each daughtercard slot (i.e. connector). Thus, when the ENUM# signal is asserted, the host computer system must first determine from which slot a daughtercard has asserted the signal. This may require polling each of the daughtercards in order to make this determination. Such polling may add complexity to system software routines for controlling the hotswap process. Furthermore, the computer may be required to use several bus cycles in order to determine which daughtercard asserted the signal. The use of the extra bus cycles may have an adverse affect on system performance.